package com.banmao.algorithm.No901To1100.No977;

public class Solution1 {

    public static int[] sortedSquares(int[] nums) {
        // 指针指向两端，相向遍历
        // 数组中可能存在负数，而平方之后，负数变正数，因此排序的实际就是判断绝对值大小
        int left = 0;
        int right = nums.length - 1;
        int[] result = new int[nums.length];
        int index = result.length - 1;
        while(left <= right) {
            if(Math.abs(nums[left]) < Math.abs(nums[right])) {
                result[index--] = nums[right] * nums[right];
                right--;
            } else {
                result[index--] = nums[left] * nums[left];
                left++;
            }
        }
        return result;
    }

}
